I'm stuck with Gitlab because I need project/repo hierarchies to deal with the RISC OS source code, and Forgejo currently doesn't support them (I haven't tried Gitea). Unfortunately on the free tier, there's a very invasive sidebar which pimps the Gitlab Duo AI slop features, and doesn't seem to have an "off" switch in the admin panel.
This is how you de-enshittify Gitlab a little by removing the Duo panel. (tested on 19.5.1 self-hosted in Docker).
From https://gitlab.com/gitlab-org/gitlab/-/merge_requests/257551